﻿<Serializable()> Public Class KOAmy
    Inherits ObjektKO
    Public Sub New(ByVal Spieler As Integer)
        MyBase.New(Spieler, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub
    Public Sub New(ByVal Spieler As Integer, ByVal Gabefüllstand As Integer, ByVal Gabenart As Gabemodi, ByVal neuSternkosten As Integer)
        MyBase.New(Spieler, Gabefüllstand, Gabenart, neuSternkosten, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub

    Private Sub StartwerteLaden()
        KOID = "AMY"
        Armee = Armeen.PC.ToString
        Musik = "Amy"
        Bild = GetBildID()
        Select Case My.Settings.CommanderWarsGameMoodus
            Case CommanderWarsGameModi.AdvanceWars
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                Gaben(1) = Gaben(0)
            Case CommanderWarsGameModi.AdvanceWars2
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 5
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDS
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 5
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDC
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                KORange = 3
            Case CommanderWarsGameModi.CommanderWars2
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 5
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                KORange = 3
            Case Else
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 5
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
        End Select
        KOname = Objektverwalter.KOS(Bild).KOBeschreibung.Name

        KOLaden()
    End Sub

    Public Overrides Sub Gabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        Reichweite = 1
        Bewegungsbonus = New BewegungsboniTabelleHovercraft_1
        BonusEinheiten = New StringUndZahl() {New StringUndZahl("HOVERFLAK", -0.3#), New StringUndZahl("ABPZ", -0.3#), New StringUndZahl("HOVERCRAFT", -0.3#), New StringUndZahl("SCHWERESHOVERCRAFT", -0.3#)}
        If OhneFunktion = False Then
            AnimationEigene("AMYGABE", 2)
        End If
        GabeEingesetzt()
    End Sub

    Public Overrides Sub KOLaden()
        OffensivStärke = New FeuerkrafttabelleHovercrafts120
        NeueBewegungskosten = New Integer() {1}
        BewegungskostenUntergrund = New String() {"RIFF"}
        Reichweite = 0
        Bewegungsbonus = Nothing

        Array.Resize(BonusEinheiten, 0)
        If My.Settings.CommanderWarsGameMoodus = CommanderWarsGameModi.AdvanceWarsDC Then
            'Dafür sinkt die Feuerkraft aber drastisch
            WetterReichweitenbonus(0) = 0
        End If
    End Sub

    Public Overrides Sub SpezialGabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        If My.Settings.CommanderWarsGameMoodus = CommanderWarsGameModi.AdvanceWars Then
            Reichweite = 1
            Bewegungsbonus = New BewegungsboniTabelleHovercraft_1
            BonusEinheiten = New StringUndZahl() {New StringUndZahl("HOVERFLAK", -0.3#), New StringUndZahl("ABPZ", -0.3#), New StringUndZahl("HOVERCRAFT", -0.3#), New StringUndZahl("SCHWERESHOVERCRAFT", -0.3#)}
            If OhneFunktion = False Then
                AnimationEigene("AMYGABE", 2)
            End If
            GabeEingesetzt()
        Else

            If OhneFunktion = False Then
                KeinAngriffAußerInfanterie()
                BackbufferSpiel.AddAnimation("SCREENFLASH", 0, New Point, True, ObjektSpielfeld.TopLayer)
            End If
            GabeEingesetzt()
        End If
    End Sub

    Public Overrides Sub KOFrame()
        'Wir machen nichts
    End Sub
End Class

<Serializable()> Public Class KOBeschreibungAmy
    Inherits ObjektKOBeschreibung
    Public Sub New()
        Name = "Amy"
        Fein = "Quantenphysik"
        Nein = "Tabletten"
        Beschreibung = New String() {"Amy ist eine Wissenschaftlicherin", "von Pink Cosmos.", "Sie vergisst nie etwas, hat", "aber durch ihre Genialität", "Probleme mit einfachen", "Kommunikationen."}
        Stil = New String() {"Ihre Hovercrafts sind besser", "wie die anderer KOs."}
        Gabebeschreibung = New String() {"Fernwaffen feuern weiter", "und ihre Hovercrafts können", "weiter ziehen. Außerdem", "kosten Hovercrafts 30%", "weniger."}
        SpezialgabeBeschreibung = New String() {"Alle Feinde können nicht angreifen,", "außer mit Infateristen."}
        GabeKosten = 3
        Spezialgabekosten = 5
        Gaben = New String() {"Flüssiges Dynamit", "Photonen Absorbation"}
        Synergie = New Decimal() {1.5#, 1, 1, -3, 0.5#}
        KONamen = New String() {"DRAKE", "WALTER", "JARED", "MAVERIK", "CARRIE"}
        Doppelgabenamen = New String() {"Unendliche Tiefen", "Lord und Lady", "Atomreaktor", "Doppel-Gabe", "Doppel-Gabe"}
        Gabesätze = New String() {"EMP! Warum das für elektromagnetische Impulse steht? Das wirst du bald wissen!" _
                                    , "Quanten! Du weißt wahrscheinlich nicht einmal für was das steht." _
                                    , "Weißt du wie viel Energie durch die Spaltung eines Atoms entsteht? Mal sehen." _
                                    , "Erlaubt mir zu demonstrieren das Hovercrafts nicht unbeweglich sind." _
                                    , "Für dein Wohl hoffe ich das deine Panzer magnetische Schutzschilde haben." _
                                    , "Ohne Wissenschaften könnten wir nicht tun, was wir gerade tun."}
        Siegsätze = New String() {"Das war für Lara." _
                                , "Theoretisch gesprochen, sieht es so aus als hättet ihr verloren." _
                                , "Wegen dem fehlen einer besseren Welt, fühle ich mich ionisiert."}
        Tauschsätze = New String() {"Ok! Ich setze ein paar Theorien in die Praxis um." _
                                    , "Zeit ein paar Banden zu brechen."}
        Doppelgabesätze = New DoppelGabesatz() {New DoppelGabesatz("DRAKE", "AMY", "Ich muss danach erst mal was essen.", "Du kannst nicht so müde sein.") _
                                              , New DoppelGabesatz("DRAKE", "AMY", "Die See ist mein Reich. Wir sind ein gutes Team.", "Stimmt unsere Fähigkeiten ergänzen sich.") _
                                              , New DoppelGabesatz("AMY", "DRAKE", "Ich fühle mich in deiner Schuld.", "Das musst du nicht. Es ist meine Pflicht anderen aus der Patsche zu helfen.") _
                                              , New DoppelGabesatz("AMY", "DRAKE", "Ich wette du möchtest wissen warum ein Schiff schwimmt.", "Vielleicht...aber nicht jetzt ich bin müde.") _
                                              , New DoppelGabesatz("AMY", "WALTER", "Ich habe viel Wissen über Explosionen. Soll ich sie dir erklären?", "Ich habe 20 Jahre Erfahrungen gesammelt. Ich brauche keine Theorien.") _
                                              , New DoppelGabesatz("AMY", "WALTER", "Für die freien und glücklichen Menschen.", "Du bist lustig. Manchmal bist du so naiv.") _
                                              , New DoppelGabesatz("WALTER", "AMY", "Wir könnten Ewigkeiten in den Kosmos schauen.", "Ist das nicht amüsant? Die ganze Zeit ins nichts schauen.") _
                                              , New DoppelGabesatz("WALTER", "AMY", "Der Kosmos kann nicht geordnet werden in die Entropie nimmt immer zu.", "Mit unseren Fähigkeiten wird der Kosmos nie untergehen.") _
                                              , New DoppelGabesatz("JARED", "AMY", "Meine E-Gitarre rockt.", "Weißt du die Funktioniert, aber nur durch Strom, der...") _
                                              , New DoppelGabesatz("AMY", "JARED", "Ein Atomkraftwerk besteht aus einem Atomreaktor, der...", "Hauptsache der Strom kommt aus der Steckdose und ich kann spielen.")}
    End Sub
End Class
